#ifndef PBVP_CONTREE_PLUGIN_H
#define PBVP_CONTREE_PLUGIN_H

#include <QAction>
#include "../toolplugin.h"

namespace PBVP {
	/// 
	class ConTreePlugin : public QObject, public ToolPlugin
	{
		Q_OBJECT
		Q_INTERFACES(PBVP::ToolPlugin)

	public:
		///
		ConTreePlugin();

		/// 
		~ConTreePlugin();

		virtual QString description() const {
			return QString("Construct largest isosurface components");
		} 
		/// 
		virtual void initialize(MainInterface* mainInterface);
		///
		virtual bool isSupported(DataNode* pNode);
		///
		virtual QAction* getToolAction() {
			return contourAction;
		}
		public slots:
			///
			void extractContour();

	private:
		friend class ContourControl;

		ContourControl *m_pControl;

		QAction *contourAction;

		float m_IsoVal;

		DataManager *m_pDataManager;
	};
}
#endif